package com.jianggy.singleton;

/**
 * 也可以在多线程中使用，是上一个的改进
 * @author jianggy
 * @time 3018年8月31日 下午5:37:36
 * @description
 */
public class Singleton3 {
	private static Singleton3 singleton = null;
	/**
	 * 私有构造方法，外部无法直接创建此类的对象
	 */
	private Singleton3(){
		
	}
	
	/**
	 * 使用synchronized代码块
	 * @time 3018年8月31日 下午5:33:49
	 * @Description
	 * @return
	 */
	public static synchronized Singleton3 getInstance() {
		if (singleton == null) {
			synchronized (Singleton3.class) {//对于静态方法，必须使用.class
				if (singleton==null) {
					singleton = new Singleton3();
				}
			}
		}
		return singleton;
	}
}
